//
//  CZStaus.swift
//  05.08--weibo
//
//  Created by fennyYang on 16/5/20.
//  Copyright © 2016年 a. All rights reserved.
//

import UIKit

// 微博模型
class CZStaus: NSObject
{
     // 微博创建时间
     var created_at: String?

     // 微博ID
     var id: Int64 = 0

     // 微博信息内容
     var text: String?

     // 微博来源
     var source: String?

     // 转发数
     var reposts_count: Int = 0

     // 评论数
     var comments_count: Int = 0

     // 表态数
     var attitudes_count: Int = 0

     // 我播配图：数组里面是字典 // Int类型的数组[Int],字典类型的数组[String: AnyObject] -> [[String: AnyObject]]
     var pic_urls: [[String: AnyObject]]?

     // 用户模型
     var user: CZUser?

     // 字典转模型 
     // - parameter dict: 字典
    //  - returns: 模型
     init(dic: [String: AnyObject])
     {
          super.init()

          setValuesForKeysWithDictionary(dic) //// setValue:forKey,调用几次看字典的key有多少个就调用多少次
     }

     override func setValue(value: AnyObject?, forKey key: String)
     {
          if key == "user"
          {
               // value是一个字典
               if let dic = value as? [String: AnyObject]
               {
                    // 这个地方就拦截到了user key 和value, value是一个字典
                    // 自己讲user这个属性赋值CZUser模型
                    user = CZUser(dict: dic)

               }

               // 一定要记得return，不然会不给supersuper.setValue:forKey:给覆盖成字典
               return
          }

          super.setValue(value, forKey: key)
     }

     // 字典中Key 在模型中找不到对应的属性
     override func setValue(value: AnyObject?, forUndefinedKey key: String)
     {
           
     }

     // 对象打印
     override var description: String
     {
          get
          {
               // 使用每一个key去模型中找到值，使用key和找到值，拼接成字典
               // keys是字典key
               let keys =
               [
                    "created_at", "id", "text", "source", "reposts_count", "comments_count", "attitudes_count", "pic_urls"
               ]

               return "\n \t 微博模型: \(dictionaryWithValuesForKeys(keys))" // \n换行，\t->table
          }
     }








}














































